// 什么是进程？

// 把我们的任务 分割成了一个个的进程， 按照进程来进度调度和分配的
// 多个进程之间是相互独立的， 相互隔离。 进程间通信， ipc

// 线程 每个进程可以包含多个线程

// 浏览器的进程和线程

// 浏览器采用的是多进程模型， 每个网页都是独立的进程， 互相不影响， 都在自己的进程进行运行，不能相互访问

// > 浏览器中的常见进程：浏览器的主进程、浏览器的渲染进程、网络进程、插件进程、gpu进程

// 浏览器的渲染进程中涵盖的线程
// js引擎线程
// 渲染线程  （单线程 在执行js的时候不能渲染，渲染的时候不能执行js）
// 网络线程
// 合成线程
// 事件触发线程

// 浏览器的事件环 （核心就是事件触发线程，调度异步任务）

// 渲染进程，事件触发线程

// 进程、线程、事件触发线程（专门处理异步的）

// 异步任务的划分？
// 宏任务：脚本执行、ui渲染、定时器（setTimemout）、http请求、事件处理、MessageChannel、setImmediate
// 微任务：promise.then、mutationObserver、process.nextTick、queueMircotask

// requestFrameAnimation requestIdlCallback (?) 宏任务  回调

// 任务有任务队列 （提供一个单独的宏任务队列来管理用户操作） 宏任务队列不止一个
// 在执行宏任务的期间内可能会再次产生宏任务和微任务 （清空微任务 就是按照顺序依次执行）

// 宏任务每次执行一个， 微任务每次执行多个
